using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("BnetInvitation")]
	public class BnetInvitation : MonoClass
	{
		public BnetInvitationId m_id => method_3<BnetInvitationId>("m_id");

		public string m_inviterName => method_4("m_inviterName");

		public string m_inviteeName => method_4("m_inviteeName");

		public string m_message => method_4("m_message");

		public ulong m_creationTimeMicrosec => method_2<ulong>("m_creationTimeMicrosec");

		public ulong m_expirationTimeMicrosec => method_2<ulong>("m_expirationTimeMicrosec");

		public BnetInvitation(IntPtr address, string className)
			: base(address, className)
		{
		}

		public BnetInvitation(IntPtr address)
			: this(address, "BnetInvitation")
		{
		}

		public static bool op_Equality(BnetInvitation a, BnetInvitation b)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "BnetInvitation", "op_Equality", new object[2] { a, b });
		}

		public static bool op_Inequality(BnetInvitation a, BnetInvitation b)
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "BnetInvitation", "op_Inequality", new object[2] { a, b });
		}

		public BnetInvitationId GetId()
		{
			return method_14<BnetInvitationId>("GetId", Array.Empty<object>());
		}

		public void SetId(BnetInvitationId id)
		{
			method_8("SetId", id);
		}

		public string GetInviterName()
		{
			return method_13("GetInviterName");
		}

		public void SetInviterName(string name)
		{
			method_8("SetInviterName", name);
		}

		public string GetInviteeName()
		{
			return method_13("GetInviteeName");
		}

		public void SetInviteeName(string name)
		{
			method_8("SetInviteeName", name);
		}

		public string GetMessage()
		{
			return method_13("GetMessage");
		}

		public void SetMessage(string message)
		{
			method_8("SetMessage", message);
		}

		public ulong GetCreationTimeMicrosec()
		{
			return method_11<ulong>("GetCreationTimeMicrosec", Array.Empty<object>());
		}

		public void SetCreationTimeMicrosec(ulong microsec)
		{
			method_8("SetCreationTimeMicrosec", microsec);
		}

		public ulong GetExpirationTimeMicrosec()
		{
			return method_11<ulong>("GetExpirationTimeMicrosec", Array.Empty<object>());
		}

		public void SetExpirationTimeMicroSec(ulong microsec)
		{
			method_8("SetExpirationTimeMicroSec", microsec);
		}

		public new bool Equals(object obj)
		{
			return method_10<bool>("Equals", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { obj });
		}

		public bool Equals(BnetInvitationId other)
		{
			return method_10<bool>("Equals", new Class276.Enum20[1] { Class276.Enum20.Class }, new object[1] { other });
		}

		public new int GetHashCode()
		{
			return method_11<int>("GetHashCode", Array.Empty<object>());
		}

		public new string ToString()
		{
			return method_13("ToString");
		}
	}
}
